package com.todo.user.iface.frontend.response;

import com.todo.common.common.enums.GenderEnum;
import com.todo.user.common.enums.HolidayTypeEnum;
import com.todo.user.common.enums.TravelPlanTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

/**
 * @author zhangwenxiang
 * @date 2024/4/8 23:46
 * @description
 */
@Data
@Schema(title = "基础用户信息出参", description = "基础用户信息出参")
public class BaseUserDetailVO {

    @Schema(title = "浏览用户Id", description = "浏览用户Id")
    private Long watchUserId;

    @Schema(title = "当前用户Id", description = "当前用户Id")
    private Long currentUserId;
    /**
     * 昵称
     */
    @Schema(title = "昵称", description = "昵称")
    private String nickName;
    /**
     * 签名
     */
    @Schema(title = "签名", description = "签名")
    private String signature;
    /**
     * 性别
     * {@link GenderEnum}
     */
    @Schema(title = "性别", description = "性别 - 展示名称")
    private String genderName;
    /**
     * 出身年月日
     */
    @Schema(title = "出身年月日", description = "出身年月日")
    private Date birthday;
    /**
     * 籍贯
     */
    @Schema(title = "籍贯", description = "籍贯")
    private String nativePlace;
    /**
     * 当前城市
     */
    @Schema(title = "更新用户详情信息入参", description = "更新用户详情信息入参")
    private String location;
    /**
     * 头像
     */
    @Schema(title = "头像", description = "头像")
    private String headImg;
    /**
     * 背景题
     */
    @Schema(title = "背景题", description = "背景题")
    private String backgroundImg;
    /**
     * 职业
     */
    @Schema(title = "职业", description = "职业")
    private Integer career;
    /**
     * 出行目的
     */
    @Schema(title = "出行目的", description = "出行目的")
    private String travelObjective;
    /**
     * 个人宣言
     */
    @Schema(title = "个人宣言", description = "个人宣言")
    private String promotion;
    /**
     * 兴趣列表
     */
    @Schema(title = "兴趣列表", description = "兴趣列表")
    private String interestList;
    /**
     * mbit
     */
    @Schema(title = "mbit", description = "mbit")
    private String mbit;
    /**
     * 假期类型：学生、周末、寒暑假、自由时间
     * {@link HolidayTypeEnum}
     */
    @Schema(title = "假期类型", description = "假期类型 - 展示名称")
    private String holidayTypeName;
    /**
     * 享受生活、穷游、周末互动、特种兵、探索世界
     * {@link TravelPlanTypeEnum}
     */
    @Schema(title = "旅游计划类型", description = "旅游计划类型 - 展示名称")
    private String travelPlanTypeName;

    @Schema(title = "好友类型", description = "好友类型")
    private String friendType;

    @Schema(title = "关联时间", description = "关联时间")
    private Integer relationTime;
}
